The present application relates to software and more specifically relates to software and accompanying graphical user interfaces that employ language input to facilitate interacting with and controlling the software.
Natural language processing is employed in various demanding applications, including hands free devices, mobile calendar and text messaging applications, foreign language translation software, mobile enterprise applications, and so on. Such applications often demand intuitive, configurable, and user friendly mechanisms for efficiently interacting with potentially complex software via language input, such as voice, to facilitate user productivity.
Efficient language based mechanisms for interacting with software are particularly important in task-rich mobile enterprise applications, where limited display area is available to facilitate user access to potentially substantial amounts of data and functionality, which may be provided via Customer Relationship Management (CRM), Human Capital Management (HCM), Business Intelligence (BI) databases, and so on.
Conventionally, mobile enterprise applications employing natural language interactions often use voice to navigate rigid predefined software flows to reach a destination screen, whereby a user may manually input data, access data, and so on. However, manual field completion of individual data fields via small mobile device displays can be cumbersome and time consuming.
Furthermore, such rigid predefined software flows and language interaction steps can be error prone, computationally expensive, and slow, especially when underlying software may require complex artificial intelligence engines to interpret natural language. In addition, the underlying software often lacks mechanisms for capturing key business terms; understanding related tasks, and so on. The accompanying user interface designs may be non-intuitive and present multiple points of potential failure. For each interaction, the software must typically accurately interpret a spoken sentence and then wait for a spoken user response. This can inhibit efficient task completion.